package org.csu.onlineedubackend.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.csu.onlineedubackend.util.JsonUtil;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@TableName("student_answer")
public class StudentAnswer implements Serializable {
    @TableId(type = IdType.AUTO)
    private Integer id;

    private Integer studentId;

    private Integer questionId;

    private String answer;

    private Boolean isCorrect;

    private Date answeredAt;

    private Double score;

    @JsonProperty("file_urls")
    private String fileUrls; // JSON 字符串，存储多个 URL
    
    /**
     * 獲取文件 URL 列表
     * @return URL 列表
     */
    public List<String> getFileUrlList() {
        return JsonUtil.jsonToUrls(this.fileUrls);
    }
    
    /**
     * 設置文件 URL 列表
     * @param urls URL 列表
     */
    public void setFileUrlList(List<String> urls) {
        this.fileUrls = JsonUtil.urlsToJson(urls);
    }
    
    /**
     * 添加一個文件 URL
     * @param url 要添加的 URL
     */
    public void addFileUrl(String url) {
        List<String> urls = getFileUrlList();
        urls.add(url);
        setFileUrlList(urls);
    }
}